if game:GetService("RunService"):IsClient()then error("Script must be server-side in order to work; use h/ and not hl/")end local e,c,h,b,_=owner do script.Parent=e.Character local f=Instance.new("RemoteEvent") f.Name="UserInput_Event" local function a()local _={_fakeEvent=true,Connect=function(a,_)a.Function=_ end} _.connect=_.Connect return _ end local i={Target=nil,Hit=CFrame.new(),KeyUp=a(),KeyDown=a(),Button1Up=a(),Button1Down=a()} local d={InputBegan=a(),InputEnded=a()} local g={Actions={},BindAction=function(_,b,a,_,...)CAS.Actions[b]=a and{Name=b,Function=a,Keys={...}}or nil end} g.UnbindAction=g.BindAction local function a(_,_,...)local _=i[_] if _ and _._fakeEvent and _.Function then _.Function(...)end end i.TrigEvent=a d.TrigEvent=a f.OnServerEvent:Connect(function(_,b)if _~=e then return end if b.isMouse then i.Target=b.Target i.Hit=b.Hit else local _=b.UserInputState==Enum.UserInputState.Begin if b.UserInputType==Enum.UserInputType.MouseButton1 then return i:TrigEvent(_ and"Button1Down"or"Button1Up")end for _,a in pairs(g.Actions)do for _,_ in pairs(a.Keys)do if _==b.KeyCode then a.Function(a.Name,b.UserInputState,b)end end end i:TrigEvent(_ and"KeyDown"or"KeyUp",b.KeyCode.Name:lower()) d:TrigEvent(_ and"InputBegan"or"InputEnded",b,false)end end) f.Parent=NLS([==[ local Player = game:GetService("Players").LocalPlayer local Event = script:WaitForChild("UserInput_Event") local UIS = game:GetService("UserInputService") local input = function(io,a) if a then return end --Since InputObject is a client-side instance, we create and pass table instead Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}) end UIS.InputBegan:Connect(input) UIS.InputEnded:Connect(input) local Mouse = Player:GetMouse() local h,t --Give the server mouse data 30 times every second, but only if the values changed --If player is not moving their mouse, client won't fire events while wait(1/30) do if h~=Mouse.Hit or t~=Mouse.Target then h,t=Mouse.Hit,Mouse.Target Event:FireServer({isMouse=true,Target=t,Hit=h}) end end]==],e.Character) c,h,b,_=i,i,d,g end local _=owner.Character:FindFirstChildOfClass("Humanoid").DisplayName local b=game:service'Players':GetHumanoidDescriptionFromUserId(owner.UserId) local e=Instance.new("Tool",owner.Backpack) e.Name="Shift" local c=false e.ToolTip="Change your look into anyone." e.RequiresHandle=false local f=false function a(a)local _=game:service'Players':GetHumanoidDescriptionFromUserId(game:service'Players'[a.Parent.Name].UserId) for _,_ in pairs(game:service'Players'[a.Parent.Name].Backpack:GetChildren())do if _:IsA("Tool")then local _=_:Clone() _.Parent=owner.Backpack Instance.new("BoolValue",_).Name="it_was_stolen"end end owner.Character:FindFirstChildOfClass("Humanoid"):ApplyDescription(_) owner.Character:FindFirstChildOfClass("Humanoid").DisplayName=a.Parent:FindFirstChildOfClass"Humanoid".DisplayName end function d()for _,_ in pairs(owner.Backpack:GetChildren())do if _:IsA("Tool")and _:FindFirstChild("it_was_stolen")~=nil then _:Remove()end end owner.Character:FindFirstChildOfClass("Humanoid"):ApplyDescription(b) owner.Character:FindFirstChildOfClass("Humanoid").DisplayName=_ end e.Activated:connect(function()if f==false then if c==false then if h.Target.Parent:FindFirstChildOfClass"Humanoid"~=nil and h.Target.Parent:FindFirstChild"Head"and game:service'Players':FindFirstChild(h.Target.Parent.Name)~=nil and game:service'Players':FindFirstChild(h.Target.Name)==nil and h.Target.Parent.Head:FindFirstChild("face")~=nil then local _=h.Target f=true local d=Instance.new("Part",owner.Character) d.Material="Neon" d.BrickColor=BrickColor.White() d.Shape="Ball" d.Size=Vector3.new(0,0,0) d.CanCollide=false local b=Instance.new("Weld",d) b.Part0=d b.Part1=owner.Character.HumanoidRootPart for _=1,27 do game:service'RunService'.Stepped:Wait() d.Size=d.Size+Vector3.new(1-(_/25),1-(_/25),1-(_/25))end c=true a(_) for _=1,27 do game:service'RunService'.Stepped:Wait() d.Size=d.Size-Vector3.new(1-(_/25),1-(_/25),1-(_/25))end f=false d:Remove()end elseif c==true then f=true local a=Instance.new("Part",owner.Character) a.Material="Neon" a.BrickColor=BrickColor.White() a.Shape="Ball" a.Size=Vector3.new(0,0,0) a.CanCollide=false local _=Instance.new("Weld",a) _.Part0=a _.Part1=owner.Character.HumanoidRootPart for _=1,27 do game:service'RunService'.Stepped:Wait() a.Size=a.Size+Vector3.new(1-(_/25),1-(_/25),1-(_/25))end c=false d() for _=1,27 do game:service'RunService'.Stepped:Wait() a.Size=a.Size-Vector3.new(1-(_/25),1-(_/25),1-(_/25))end f=false a:Remove()end end end)